package algo3.algothief.modelo;

import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;

import javax.xml.parsers.ParserConfigurationException;

import org.xml.sax.SAXException;

public abstract class JuegoTerminado extends EstadoDelJuego {
	
	public JuegoTerminado(String estado, Juego juego) {
		super(estado, juego);
	}

//-------------------------------------------------------------------------------------	
	
	public ArrayList<Pais> verHaciaQuePaisesSePuedeViajar() {
		return super.juego.verHaciaQuePaisesSePuedeViajar(this);
	}
	
	public HashMap<String, LugarDePais> verQueLugaresSePuedenVisitar() {
		return super.juego.verQueLugaresSePuedenVisitar(this);
	}
	
	public boolean modificarLaDescripcionDelSospechoso(HashMap<String, String> caracteristicasElegidasPorElJugador) {
		return super.juego.modificarLaDescripcionDelSospechoso(caracteristicasElegidasPorElJugador, this);
	}
	
	public boolean emitirOrdenDeArresto() {
		return super.juego.emitirOrdenDeArresto(this);
	}
	
	public boolean viajarA(Pais pais) throws ParserConfigurationException, SAXException, IOException {
		return super.juego.viajarA(pais, this);
	}
	
	public String visitar(LugarDePais lugar) {
		return super.juego.visitar(lugar, this);
	}
	
	public boolean verSiSePuedeSeguirJugando() {
		return false;
	}
	
	public EstadoDelJuego comprobarPosibleCambioDeEstadoACausaDelTiempo(Tiempo tiempo) {
		return this;
	}
	
	public EstadoDelJuego modificarEstadoACausaDeLlegarAlUltimoPais() {
		return this;
	}
	
	public EstadoDelJuego modificarEstadoACausaDeSalirDelUltimoPais() {
		return this;
	}
	
	public EstadoDelJuego modificarEstadoACausaDeEmitirOrdenDeArresto() {
		return this;
	}
	
	public EstadoDelJuego comprobarPosibleCambioDeEstadoAlVisitarUnLugar(Caso caso, CuartelGeneral cuartel, LugarDePais lugar) {
		return this;
	}
}
